\begin{problem}{Barricades}{bar.in}{bar.out}{1 second}{32 megabytes}

\par

    Byteland is an island with a number of cities connected by two-way roads.
    Road network is designed in such a way that there is exactly one possibility to drive
    between any pair of cities (without turning back).
\par
    
    Unfortunately, hard times have come --- Byteland is preparing for a war.
    The Lead Strategist of Byteland is preparing a plan of defence of Byteland, 
    which takes into account creation of a \emph{special security zone}. 
    The zone will be created by blocking some of the existing roads in Byteland in such a way
    that it won't be possible to drive through these roads. In order to make the zone 
    completely secure, following rules have to be fulfilled:
    \begin{itemize}
    \item from each city inside the zone it has to be possible to drive to any other city 
    inside that zone,
    \item it is not possible to get from a city outside of the zone to the city inside the zone,
    \item zone has to consist of exactly $k$ cities.
    \end{itemize}
    Many different solutions to the problem are being considered --- for different values of $k$, it is required to 
    determine how many roads have to be blocked at minimum, to obtain a \emph{special security zone} of 
    size $k$ (consisting of exactly $k$ cities). Help the Lead Strategist of Byteland --- write a program which for specified value of $k$
    calculates required number of barricades.

      Write a program which:
      \begin{itemize}
        \item reads from the standard input description of the roads in Byteland and the set of queries (different $k$ values),
        \item for each query program should determine the minimal possible number of barricades that are 
        sufficient to construct a \emph{special security zone} of required size,
        \item writes result to the standard output.
      \end{itemize}


\InputFile
      The first line of the standard input contains one integer $n$ ($1 \leq n \leq 3\,000$)
      representing the number of cities in Byteland.
      Cities are numbered with numbers $1,2,\ldots, n$.
      
      Each of the following $n-1$ lines of the standard input contains pair of integers $a,b$ ($1 \leq a,b \leq n$) 
      separated by single space. Pair $a,b$ represents a direct road connecting cities $a$ and $b$. 
      Each pair of cities is connected with at most one direct road.

      In the following line of the standard input there is an integer $m$ ($1 \leq m \leq n$) --- it is the number of queries to process.
      Each of the following $m$ lines contains one integer $k_i$ ($k_i \in \{1,2,3,\ldots,n\}$). It represents query number $i$
      -- the number of cities that have to be inside $i$'th \emph{special security zone}.


\OutputFile
      Your program should write to the standard output exactly $m$ numbers, each of them in a separate line.
      The number in $i$'th line should be:
      \begin{itemize}
        \item $-1$, if creation of a \emph{special security zone} of size $k_i$ is not possible,
	\item the minimal number of roads that have to be blocked in order to construct a \emph{special security zone} of size $k_i$ otherwise.
      \end{itemize}


\Example

\begin{example}
\exmp{
7
1 2
1 3
2 4
2 5
3 6
3 7
2
2
3
}{
2
1
}%
\end{example}
\end{problem}
